from django.shortcuts import redirect
from django.urls import path
from book.views import create_book, shop, register, json, method, LoginView, OrderView
from book.views import response, redirect1
from book.views import set_cookie, get_cookie, set_session, get_session
# from book.views import login
from django.urls import converters
from django.urls.converters import register_converter


# ##########1.定义转换器
class MobileConverter:
    """自定义路由转换器：匹配手机号"""
    # 匹配手机号码的正则
    regex = '1[3-9]\\d{9}'
    def to_python(self, value):
        # 将匹配结果传递到视图内部时使用
        return value
    def to_url(self, value):
        # 将匹配结果用于反向解析传值时使用
        return value


# converter 转换器类
# type_name 转换器名字
register_converter(MobileConverter, 'phone')
urlpatterns = [
    path('create/', create_book),
    # <转换器名字：变量名>
    # 转换器会对变量数据进行 正则验证
    # #############2.注册转换器，才能在第三步中使用
    path('<city_id>/<phone:mobile>', shop),
    path('register/', register),
    path('json/', json),
    path('method/', method),
    path('res/', response),
    path('redirect1/', redirect1),  # 重定向
    path('set_cookie/', set_cookie),
    path('get_cookie/', get_cookie),
    path('set_session/', set_session),
    path('get_session/', get_session),
    # path('login/', login),

    ########类视图#######
    path('163login/', LoginView.as_view()),
    path('order/', OrderView.as_view()),
]
